/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. 
 */
package com.icinfo.cloud.provider.punish.fastcase.service;


import com.icinfo.cloud.common.core.page.PageResponse;
import com.icinfo.cloud.provider.punish.fastcase.dto.AppCaseAppraiseDetailInfoSaveDto;
import com.icinfo.cloud.provider.punish.fastcase.dto.AppCaseAppraiseRecordByPartyQueryDto;
import com.icinfo.cloud.provider.punish.fastcase.vo.*;
import com.icinfo.framework.common.web.Result;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;

/**
 * 描述: 案件评价记录表 case_appraise_record 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2023年02月02日
 */
public interface ICaseAppraiseRecordService extends BaseService {

    /**
     * 描述： 根据当事人身份编码获取待评价记录数
     *
     * @author: zhengqiang
     * @date: 2023/2/6
     * @return {@link Integer}
     **/
    Result getCountOfNoAppraiseRecordByParty();

    /**
     * 描述： 根据当事人身份编码获取不同评价列表记录数
     *
     * @author: zhengqiang
     * @date: 2023/2/8
     * @return {@link Result< CaseAppraiseRecordCountVo>}
     **/
    Result<CaseAppraiseRecordCountVo> getCountOfCaseAppraiseRecordByQueryListType();

    /**
     * 描述： 查询案件评价记录
     *
     * @author: zhengqiang
     * @date: 2023/2/3
     * @param: partyQueryDto
     * @return {@link Result< PageResponse< CaseAppraiseRecordVo>>}
     **/
    Result<PageResponse<CaseAppraiseRecordVo>> getCaseAppraiseRecordPageList(AppCaseAppraiseRecordByPartyQueryDto partyQueryDto);

    /**
     * 描述： 根据案件id获取案件评价详情
     *
     * @author: zhengqiang
     * @date: 2023/2/3
     * @param: caseId
     * @return {@link Result< CaseAppraiseDetailInfoVo>}
     **/
    Result<CaseAppraiseDetailInfoVo> getCaseAppraiseRecordDetailByCaseId(String caseId);

    /**
     * 描述： 保存评价信息
     *
     * @author: zhengqiang
     * @date: 2023/2/3
     * @param: appCaseAppraiseDetailInfoSaveDto
     * @return {@link Result}
     **/
    Result saveCaseAppraiseRecord(AppCaseAppraiseDetailInfoSaveDto appCaseAppraiseDetailInfoSaveDto);

    /**
     * 描述： 根据案件类型获取评价模板
     *
     * @author: zhengqiang
     * @date: 2023/2/6
     * @param: caseType
     * @return {@link Result< List< CaseAppraiseTemplateGroupInfoVo>>}
     **/
    Result<List<CaseAppraiseTemplateGroupInfoVo>> getCaseAppraiseTemplateInfo(String caseType);

    /**
     * 描述： 根据当事人身份编码查询进行中的速结案件记录
     *
     * @author: zhengqiang
     * @date: 2023/2/8
     * @return {@link List}
     **/
    List<AppFastCaseRecordOfHandlingVo> getFastCaseRecordListOfHandlingByParty();
}